package Java8实战._2_Stream_使用流._4_归约;

import Java8实战._2_Stream_使用流.Dish;

import java.util.Arrays;
import java.util.List;

public class _3_测试 {

    public static void main(String[] args) {
        List<Dish> menu = Arrays.asList(
                new Dish("pork",false,800, Dish.Type.MEAT),
                new Dish("beef",false,700, Dish.Type.MEAT),
                new Dish("chicken", false, 400, Dish.Type.MEAT),
                new Dish("french fries", true, 530, Dish.Type.OTHER),
                new Dish("rice", true, 350, Dish.Type.OTHER),
                new Dish("season fruit", true, 120, Dish.Type.OTHER),
                new Dish("pizza", true, 550, Dish.Type.OTHER),
                new Dish("prawns", false, 300, Dish.Type.FISH),
                new Dish("salmon", false, 450, Dish.Type.FISH)
        );

        //count
        System.out.println("count ==============================");
        long count = menu.stream()
                .count();

        System.out.println("共有" + count + "道菜");

        //reduce
        System.out.println("reduce =============================");
        menu.stream()
                .map((Dish dish) -> 1)
                .reduce(Integer::sum)
                .ifPresent(System.out::println);
    }
}
